// 引入axios
import axios from 'axios'
// import store from '@/store/index'

const service = axios.create({
  // url = base url + request url
  // 这是请求的前缀的三元运算符，是需要配合proxy使用的
  // process.env.NODE_ENV 是nodejs的全局变量，需要懂点nodejs才知道
  // 意思是如果是开发【development】环境
  // 前缀就是当前本地地址 "localhost:端口" + "/proxy" + "url值"
  // 如果不是开发环境，意思就是线上环境，即打包后上线的环境，你让用户请求 "localhost:3000" 肯定是请求不到的
  // 所以打包出来的就是 "http://xxx.com" + "url值"
  baseURL: 'http://elm.cangdu.org',
  // 最长等待时间
  timeout: 5000, // request timeout;
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  // 允许携带cookie
  withCredentials: true,

})

//返回一个Promise(发送post请求)
export function fetchPost(url, params) {
  return new Promise((resolve, reject) => {
    service.post(url, params)
      .then(response => {
        resolve(response.data);
      }, err => {
        reject(err);
      })
      .catch((error) => {
        reject(error)
      })
  })
}
// 返回一个Promise(发送get请求)
export function fetchGet(url, param) {
  return new Promise((resolve, reject) => {
    service.get(url, { params: param })
      .then(response => {
        resolve(response.data)
      }, err => {
        reject(err)
      })
      .catch((error) => {
        reject(error)
      })
  })
}